"""
1.简述Python中列表和元组的区别。
    可变性：列表是可变的，可以添加、删除、修改元素；元组是不可变的，创建后不能修改
    语法：列表使用方括号[]  元组使用()
    方法：列表有更多方法，元素相对较少
    性能：元组比列表操作更快，占用内存更小
    使用场景：列表用于需要动态修改的数据集合；元组用于不需要修改的数据集合，可以作为字典的键

2.简述Python中全局变量和局部变量的区别。
    定义位置：全局变量在函数外部定义，局部变量在函数内部定义。
    作用域：全局变量在整个程序中有效，局部变量只在定义它的函数内部有效。
    生命周期：全局变量随程序创建和销毁，局部变量随函数调用创建，函数结束销毁
    访问权限：函数内部可以直接读取全局变量，但要修改需要使用global关键字声明
    内存分配：全局变量在程序数据区，局部变量在栈区。

3.简述Python中字典的特点和使用场景。
    键值对结构：字典以键值对的形式存储数据。
    todo无序性：字典中的元素是无序的（Python3.7+保持插入顺序）。
    键的唯一性：字典的键必须是唯一的，不可重复。
    可变性：字典是可变的，可以动态添加、删除、修改键值对。
    高效查找：通过键查找值的时间复杂度为O(1)。
    使用场景：适合存储有映射关系的数据，如学生信息、配置参数等。

4.简述面向对象编程中封装、继承和多态的概念。
    封装：将数据和操作数据的方法捆绑在一起，隐藏内部实现细节，只提供必要的接口。
    继承：子类可以继承父类的属性和方法，实现代码复用和层次化设计。
    多态：同一操作作用于不同的对象，可以有不同的解释和执行结果，提高代码的灵活性。

5.简述Python中函数的参数类型及其特点。
    位置参数：按照参数位置顺序传递，必须按顺序提供。
    关键字参数：通过参数名指定，可以不按顺序传递。
    默认参数：在函数定义时给参数指定默认值，调用时可省略。
    可变长度参数：
        *args：接收任意数量的位置参数，以元组形式存储。
        **kwargs：接收任意数量的关键字参数，以字典形式存储。
    参数传递顺序：位置参数 → 默认参数 → 可变位置参数 → 可变关键字参数

6.简述Python中模块和包的概念及其作用。
    模块：一个.py文件就是一个模块，包含Python代码
    包：包含__init__.py文件的文件夹，用于组织相关模块
    导入方式：使用import语句导入模块或包
    作用：
        代码组织：将相关功能组织在一起
        代码复用：可以在多个项目中重复使用
        命名空间：避免命名冲突
        维护性：便于代码的维护和更新
    常用模块：math、random、datetime、os等
"""
